#ifndef _GATHER_H_
#define _GATHER_H_


/*
A note about territory numbering:
 from the center of the hexagonal playing field,
myHeading goes from 180 facing (-x axis) to 0 (+x axis)
back to -180 (-x axis) going in a clockwise circle. 

when myHeading is 0 (ie +x axis), it is the center line of section 1.
Going in a counterclockwise circle (or in the direction of increasing myHeading)
the sections increase numerically, ending with section 6 adjacent below section 1

*/

//returns the midpoint of a given territory
Point getSection(uint8_t territory);


//returns which section (1 - 6) a given point is located in
uint8_t inSection(Point lost);

//drives (from any point) to the given territory,
//lines up with the gearbox,
//spins the front wheel,
//drives over to the lever and
//collects sheep until the count left is 5
void gatherSheep(uint8_t territory);


void captureTerritory(uint8_t territory);
void getSheep(uint8_t territory);
void spinWheel();

//drives from any point to a given point on the board 
//by driving loosely to points in each intermideate territory
void driveThroughFieldToPoint(Point gaol, float accuracy);


#endif